草庐IT

c++ - Qt::WA_DeleteOnClose

全部标签

c++ - 使用统计 API 获取不正确的文件修改时间

我在获取文件的修改时间时看到一个奇怪的行为。我们一直在打电话_stat64在我们的项目中获取文件修改的方法如下。intmy_win_stat(constchar*path,struct_stati64*buf){if(_stati64(path,buf)==0){std::coutst_mtime当我使用epochconvertor转换st_mtime变量返回的纪元时间时,它显示比我系统上设置的当前时间提前2:30小时。当我从不同的测试项目调用相同的API时,我看到了正确的mtime(即根据我的系统显示的文件的mtime)。if(_stat64("D:\\engine_cost.frm

c# - 使用 VS 2010 调试导入的 dll

我在尝试从C#代码调用WinAPI函数时遇到问题。我有很多导入,其中很多工作正常,但其中一些没有,并导致意外中断主程序,没有任何消息、异常类型,什么都没有,只是掉下所有窗口并退出。我在代码中有两种方法:通过我开发的库,其中有更多的winapi调用,我懒得编写特定结构、指针等代码,并直接从user32.dll导入,如下所示:[DllImport(@"tradeInterop.dll")]publicstaticexternvoidChooseInstrumentByMouse(UInt32hwnd,intbaseX,intbaseY,intidx,int_isDown);[DllImpo

c++ - 使用 Qt 在 Windows 桌面上使用蓝牙 LE

我正在为Windows桌面环境开发一个使用QtQuick2.0的应用程序。我需要使用蓝牙LE与传感器通信,为此我的电脑有一个蓝牙4.0USB加密狗。由于Qt不支持Windows桌面上的蓝牙,我正在寻找另一个API来执行此操作。我遇到过不同的API,例如32feet,但这些API似乎已经过时,而且大多不支持BLE。我运行的是Windows8.1,所以使用Windows蓝牙堆栈似乎很简单,但我不确定是否可以在Qt中使用它。我希望你有一个解决方案或者能给我指明方向。关于我的平台的更多信息:Windows8.1采用BroadcomBCM20702芯片的BLEUSB加密狗QtQuick2.0,C

c - 如何在 C 中将 IOCTL 发送到 Windows 上的所有驱动程序

有人可以向我提供示例C代码,其中列出了我可以使用Createfile()打开的所有设备名称吗?我总是收到错误代码3:路径不存在不起作用的示例代码:#define_CRT_SECURE_NO_WARNINGS#include#include#include#include#include#include#include#include#include#include#include#pragmacomment(lib,"Setupapi.lib")intmain(void){HDEVINFOdeviceInfoList;deviceInfoList=SetupDiGetClassDevs

c - 使用 Windows 调试器查看用 C 写入的内存位置?

我在dosbox中运行了TurboC和Windows调试我有这个C程序,它有两条主线,如你所见。inta=5然后一行显示a的地址,printf("addressofa=%x",&a)我运行它好像告诉我a已经分配到了fff4的地址现在我想使用调试来希望在该内存地址看到5的值但是没有显示如何在调试中看到它? 最佳答案 这是编译后的main函数的DEBUG输出:16E1:01FA55PUSHBP16E1:01FB8BECMOVBP,SP16E1:01FD83EC02SUBSP,+0216E1:0200C746FE0500MOVWORDPT

c - 使用和不使用 FILE_FLAG_NO_BUFFERING 的 NTFS 文件访问时间

我正在尝试对NTFS的文件读取时间(顺序访问)进行基准测试。我的代码获取开始时间,执行大小等于4096字节(系统上NTFS的簇大小)的读取并记录结束时间。然后存储两个时间之间的差异,并重复该过程,直到到达文件末尾。我目前使用的文件大小是40K,所以得到10个时差值。当访问没有FILE_FLAG_NO_BUFFERING打开的文件(使用CreateFile)时,第一个block的访问时间接近30微秒,然后下降到大约7微秒用于后续访问(由于缓存)。当使用FILE_FLAG_NO_BUFFERING时,第一个block的访问时间接近21毫秒,随后的访问时间下降到大约175微秒。第一个bloc

c - c中串口读取,使用WinApi函数; WaitCommEvent 失败

我尝试用C语言编写一个基于事件的小型应用程序以读取串行端口(来源如下)。我的程序是使用WinApi函数。comport.c具有用于处理COM端口(打开、读取、写入)的函数,utils.c具有一些辅助函数。我的程序总是产生以下输出:COM1isselectedtobelistened.GetCommMaskresult:0x00000029(EV_RXCHAR:0x0001,EV_CTS:0x0008,EV_RLSD:0x0020)Pressanykeytoproceed...I/Oispending(WaitCommEvent)...I/Oispending(WaitCommEvent

c++ - 释放和恢复 Qt 中的嵌入式窗口

在我的Qt应用程序中,我需要嵌入一个native窗口。我首先获取它的WinId。之后,我按以下方式创建嵌入式小部件:QWindow*window=newQWindow::fromWinId(winid);QWidget*widget=createWindowContainer(window);QVBoxLayoutvl;ui->frame->setLayout(&vl);vl.addwidget(widget);widget->show();它按照预期的方式完美运行。但是,当我想关闭我的Qt应用程序并释放嵌入式窗口并将其恢复到其原始状态时,我遇到了问题。我目前正在执行以下释放窗口的步骤

c++ - Qt5 : Preventing another instance of the application doesn't work anymore. ..!

我在Windows7平台上使用Qt5。我的应用程序是某种监听端口8002的TCP服务器,所以我只需要它的一个实例。为了防止我的应用程序出现多个实例,我使用(d)下面的代码(在StackOverflow上找到):intmain(intargc,char*argv[]){QApplicationa(argc,argv);QSharedMemorysharedMemory;sharedMemory.setKey("TcpServer-Key");if(sharedMemory.create(1)==false){QMessageBox::warning(NULL,"Warning!","An

c - 如何在 NDIS 6 过滤器驱动程序中启用 802.11 监控模式 (DOT11_OPERATION_MODE_NETWORK_MONITOR)?

我已将WinPcap移植到NDIS6过滤器驱动程序:https://github.com/nmap/npcap.但它仍然不支持捕获所有802.11native数据包(如未捕获控制和管理帧)。我注意到有一种方法可以使用WlanSetInterface函数为无线适配器设置DOT11_OPERATION_MODE_NETWORK_MONITOR。但是这次调用成功了(返回值是OK的,这次调用后我的wifi网络断开了)。但问题是我无法使用Wireshark在Wi-Fi接口(interface)上看到任何数据包,甚至连假以太网形式的802.11数据也看不到。所以肯定有问题。我知道从NDIS6和vi